Domain Error
ビジネスロジック上、起こりうるエラー、予期できるエラー
ビジネスロジックの一部であり、それへの対処も決まっているようなもの
想定内のエラーであり、異常というより状態の一部と言える
型で文書化し、明示的にハンドリングする
型を用いたError Handling
「状態の一部」と捉えれば型で文書化すべきというのも納得がいくmrsekut.icon
型で正しい状態の場合分けを列挙して表現する
/mrsekut-book-97816805025/209 (Modeling Domain Errors in Types)
ビジネスロジックの一部であるから、対処も決まっているのでハンドリング可能である
domain expertに聞いたら対処法が分かる
具体例
業務上のルールや制約に違反した結果として発生するエラー
e.g.
残高不足
重複登録
認可エラー
無効な入力
validation errorを表示してユーザに再入力を促すなど
在庫切れ
など
例を見れば、「異常」ではなく、ビジネスロジック上、起こり得るものであるイメージが湧くmrsekut.icon
異常ではないから、監視してわざわざアラートを投げるようなものでもない
システム障害と区別することで、異常検知がノイズに埋もれない